/*
Copyright (c) 2008, Adobe Systems Incorporated
All rights reserved.

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice, 
    	this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice, 
    	this list of conditions and the following disclaimer in the 
    	documentation and/or other materials provided with the distribution.
    * Neither the name of Adobe Systems Incorporated nor the names of its 
    	contributors may be used to endorse or promote products derived from 
    	this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
POSSIBILITY OF SUCH DAMAGE.
*/
/**
 * User is a ValueObject for the Flickr API.
 */
package com.adobe.webapis.flickr;

class User
{
	public var nsid(getNsid, setNsid) : String;
	public var username(getUsername, setUsername) : String;
	public var fullname(getFullname, setFullname) : String;
	public var isPro(getIsPro, setIsPro) : Bool;
	public var bandwidthMax(getBandwidthMax, setBandwidthMax) : Float;
	public var bandwidthUsed(getBandwidthUsed, setBandwidthUsed) : Float;
	public var filesizeMax(getFilesizeMax, setFilesizeMax) : Float;
	public var url(getUrl, setUrl) : String;
	public var isIgnored(getIsIgnored, setIsIgnored) : Bool;
	public var isFamily(getIsFamily, setIsFamily) : Bool;
	public var isFriend(getIsFriend, setIsFriend) : Bool;
	public var isAdmin(getIsAdmin, setIsAdmin) : Bool;
	public var iconServer(getIconServer, setIconServer) : Int;
	public var mboxSha1Sum(getMboxSha1Sum, setMboxSha1Sum) : String;
	public var location(getLocation, setLocation) : String;
	public var photoUrl(getPhotoUrl, setPhotoUrl) : String;
	public var profileUrl(getProfileUrl, setProfileUrl) : String;
	public var firstPhotoUploadDate(getFirstPhotoUploadDate, setFirstPhotoUploadDate) : Date;
	public var firstPhotoTakenDate(getFirstPhotoTakenDate, setFirstPhotoTakenDate) : Date;
	public var photoCount(getPhotoCount, setPhotoCount) : Int;
	public var tags(getTags, setTags) : Array<Dynamic>;

	var _nsid : String;
	var _username : String;
	var _fullname : String;
	var _isPro : Bool;
	var _bandwidthMax : Float;
	var _bandwidthUsed : Float;
	var _filesizeMax : Float;
	var _url : String;
	var _isIgnored : Bool;
	var _isFriend : Bool;
	var _isFamily : Bool;
	var _isAdmin : Bool;
	var _iconServer : Int;
	var _mboxSha1Sum : String;
	var _location : String;
	var _photoUrl : String;
	var _profileUrl : String;
	var _firstPhotoUploadDate : Date;
	var _firstPhotoTakenDate : Date;
	var _photoCount : Int;
	var _tags : Array<Dynamic>;
	public var iconFarm : Int;
	/**
	 * Construct a new User instance
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function new()
	{
		_tags = new Array<Dynamic>();
	}

	/**
	 * The NSID of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getNsid() : String
	{
		return _nsid;
	}

	public function setNsid(value : String) : String
	{
		_nsid = value;
	}

	/**
	 * The username of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getUsername() : String
	{
		return _username;
	}

	public function setUsername(value : String) : String
	{
		_username = value;
	}

	/**
	 * The full name of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getFullname() : String
	{
		return _fullname;
	}

	public function setFullname(value : String) : String
	{
		_fullname = value;
	}

	/**
	 * Flag if the user has a pro account
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getIsPro() : Bool
	{
		return _isPro;
	}

	public function setIsPro(value : Bool) : Bool
	{
		_isPro = value;
	}

	/**
	 * The max bandwidth for the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getBandwidthMax() : Float
	{
		return _bandwidthMax;
	}

	public function setBandwidthMax(value : Float) : Float
	{
		_bandwidthMax = value;
	}

	/**
	 * The used bandwidth for the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getBandwidthUsed() : Float
	{
		return _bandwidthUsed;
	}

	public function setBandwidthUsed(value : Float) : Float
	{
		_bandwidthUsed = value;
	}

	/**
	 * The max filesize of an image for the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getFilesizeMax() : Float
	{
		return _filesizeMax;
	}

	public function setFilesizeMax(value : Float) : Float
	{
		_filesizeMax = value;
	}

	/**
	 * The url for the user's flickr page
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getUrl() : String
	{
		return _url;
	}

	public function setUrl(value : String) : String
	{
		_url = value;
	}

	/**
	 * Flag if the user is ignored
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getIsIgnored() : Bool
	{
		return _isIgnored;
	}

	public function setIsIgnored(value : Bool) : Bool
	{
		_isIgnored = value;
	}

	/**
	 * Flag if the user is family
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getIsFamily() : Bool
	{
		return _isFamily;
	}

	public function setIsFamily(value : Bool) : Bool
	{
		_isFamily = value;
	}

	/**
	 * Flag if the user is friend
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getIsFriend() : Bool
	{
		return _isFriend;
	}

	public function setIsFriend(value : Bool) : Bool
	{
		_isFriend = value;
	}

	/**
	 * Flag if the user is an admin
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getIsAdmin() : Bool
	{
		return _isAdmin;
	}

	public function setIsAdmin(value : Bool) : Bool
	{
		_isAdmin = value;
	}

	/**
	 * The icon server of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getIconServer() : Int
	{
		return _iconServer;
	}

	public function setIconServer(value : Int) : Int
	{
		_iconServer = value;
	}

	/**
	 * The sha1 sum of the mailbox of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getMboxSha1Sum() : String
	{
		return _mboxSha1Sum;
	}

	public function setMboxSha1Sum(value : String) : String
	{
		_mboxSha1Sum = value;
	}

	/**
	 * The location of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getLocation() : String
	{
		return _location;
	}

	public function setLocation(value : String) : String
	{
		_location = value;
	}

	/**
	 * The photo url of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getPhotoUrl() : String
	{
		return _photoUrl;
	}

	public function setPhotoUrl(value : String) : String
	{
		_photoUrl = value;
	}

	/**
	 * The profile url of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getProfileUrl() : String
	{
		return _profileUrl;
	}

	public function setProfileUrl(value : String) : String
	{
		_profileUrl = value;
	}

	/**
	 * The date of the user's first photo upload
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getFirstPhotoUploadDate() : Date
	{
		return _firstPhotoUploadDate;
	}

	public function setFirstPhotoUploadDate(value : Date) : Date
	{
		_firstPhotoUploadDate = value;
	}

	/**
	 * The date of the user's first photo taken
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getFirstPhotoTakenDate() : Date
	{
		return _firstPhotoTakenDate;
	}

	public function setFirstPhotoTakenDate(value : Date) : Date
	{
		_firstPhotoTakenDate = value;
	}

	/**
	 * The number of photos uploaded by the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getPhotoCount() : Int
	{
		return _photoCount;
	}

	public function setPhotoCount(value : Int) : Int
	{
		_photoCount = value;
	}

	/**
	 * The tags of the user
	 *
	 * @langversion ActionScript 3.0
	 * @playerversion Flash 8.5
	 * @tiptext
	 */
	public function getTags() : Array<Dynamic>
	{
		return _tags;
	}

	public function setTags(value : Array<Dynamic>) : Array<Dynamic>
	{
		_tags = value;
	}

}

